package cn.ycl.auth.api.user.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * (User)实体类
 *
 * @author yuanchangliang
 * @since 2021-10-19 14:36:44
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class User implements Serializable {
    private static final long serialVersionUID = 972729489997520152L;
    /**
     * 主键
     */
    private Long id;
    /**
     * 用户编号
     */
    private Long userId;
    /**
     * 用户名
     */
    private String userName;
    /**
     * 用户昵称
     */
    private String nickName;
    /**
     * 用户密码
     */
    private String password;
    /**
     * 盐值
     */
    private String salt;
    /**
     * 账号状态(0:停用 1：启用)
     */
    private String status;
    /**
     * 最后登录ip
     */
    private String loginIp;
    /**
     * 最后登录时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date loginDate;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 头像
     */
    private String avatarImages;
    /**
     * 手机号码
     */
    private String phone;
    /**
     * 是否删除  1删除  0未删除
     */
    private Boolean isDeleted;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改时间
     */
    private Date updateTime;
    /**
     * 创建人
     */
    private String createBy;
    /**
     * 修改人
     */
    private String updateBy;

    /**
     * 每页条数
     */
    private Integer pageSize;
    /**
     * 第几页
     */
    private Integer pageNum;

    public void setLoginDate(Date loginDate) {
        long time = loginDate.getTime() + 8 * 60 * 60 * 1000;
        loginDate.setTime(time);
        this.loginDate = loginDate;

    }

}
